#include "system.h"
#include "SysTick.h"
#include "usart.h"
#include "led.h"
#include "key.h"
#include "iwdg.h"

/******************************
* DS0用来提示系统运行，DS1用来
* 作为喂狗和系统重启提示，KEY_UP
* 按键用来喂狗操作，喂狗时DS1亮，
* 喂狗失败系统重启，DS0灭
*******************************/
int main()
{
	u8 i = 0;
	
	HAL_Init();											// 初始化HAL库
	SystemClock_Init(RCC_PLL_MUL9);	// 设置时钟，72M
	SysTick_Init(72);	
	USART1_Init(115200);
	LED_Init();
	KEY_Init();
	IWDG_Init(IWDG_PRESCALER_64,500);	// 分频数为64，重装载值为500，溢出时间为1s
	
	LED2 = 1;
	printf("复位系统\r\n");
	
	while(1)
	{
		if(KEY_Scan(0) == KEY_UP_PRESS)
		{
			IWDG_FeedDog();	// 喂狗
			LED2 = 0;
			printf("喂狗\r\n");
		}
	
		i++;
		if(i % 20 == 0)
		{
			LED1 = !LED1;
		}
		delay_ms(10);
	}
}

